package com.ywu.component.standard.data;

import com.ywu.component.standard.dto.ComponentDto;
import com.ywu.component.standard.entity.ComponentEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface ComponentRepository {
    List<ComponentEntity> queryPageList(@Param("model") ComponentDto componentDto);

    void createComponent(@Param("model") ComponentEntity componentEntity);

    int queryPageCount(@Param("model") ComponentDto componentDto);

    int queryIconPageCount(@Param("model") ComponentDto componentDto);

    void updateComponent(@Param("model") ComponentEntity componentEntity);

    void deleteComponent(@Param("model") ComponentEntity componentEntity);

    ComponentEntity getComponentEntity(@Param("model") ComponentDto componentDto);

    List<ComponentEntity> queryIconPageList(@Param("model") ComponentDto componentDto);

    List<ComponentEntity> batchQueryByIds(@Param("list") List<Integer> ids);

    List<ComponentEntity> batchQueryByIdsWithNoContent(@Param("list") List<Integer> ids);

    List<ComponentEntity> queryPageListNoContent(@Param("model") ComponentDto componentDto);
}
